home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-08-18 | 2.1 KB | 59 lines | [TEXT/Moml] |
- (* Parsing -- runtime library for parsers generated by mosmlyac.
- Based on the runtime library for camlyacc; copyright 1993 INRIA, France
- *)
-
- local open Vector Obj Lexing in
-
- (* The following functions can be called by user code. *)
-
- val symbolStart : unit -> int;
- val symbolEnd : unit -> int;
- (* [symbolStart] and [symbolEnd] are to be called in the action part
- of a grammar rule only. They return the position of the string that
- matches the left-hand side of the rule: [symbolStart()] returns
- the position of the first character; [symbolEnd()] returns the
- position of the last character, plus one. The first character
- in a file is at position 0. *)
-
- val rhsStart: int -> int;
- val rhsEnd: int -> int;
- (* Same as [symbol_start] and [symbol_end] above, but return then
- position of the string matching the [n]th item on the
- right-hand side of the rule, where [n] is the integer parameter
- to [lhs_start] and [lhs_end]. [n] is 1 for the leftmost item. *)
-
- val clearParser : unit -> unit;
- (* Empty the parser stack. Call it just after a parsing function
- has returned, to remove all pointers from the parser stack
- to structures that were built by semantic actions during parsing.
- This is optional, but lowers the memory requirements of the
- programs. *)
-
- (*--*)
-
- (* The following definitions are used by the generated parsers only.
- They are not intended to be used by user programs. *)
-
- type parseTables =
- (* actions *) (unit -> obj) vector *
- (* transl *) int vector *
- (* lhs *) string *
- (* len *) string *
- (* defred *) string *
- (* dgoto *) string *
- (* sindex *) string *
- (* rindex *) string *
- (* gindex *) string *
- (* tablesize *) int *
- (* table *) string *
- (* check *) string
- ;
-
- exception yyexit of obj;
- exception ParseError of (obj -> bool);
-
- val yyparse : parseTables -> int -> (lexbuf -> 'a) -> lexbuf -> 'b;
- val peekVal : int -> 'a;
-
- end;
-